package ufc.web.funcoes;

import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import ufc.web.conexaoBD.ConnectionFactory;

public class CadastroCliente implements Acao {

	public boolean cadastrar(HttpServletRequest clientes) {

		try {
			String sql = "INSERT INTO usuario(nome, email, dataNasc,sexo,cpf,rua,bairro,cidade,estado,numero,cep,complemento,usuario,senha,funcao) "
					+ "values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
			// RequestDispatcher rd =
			// request.getRequestDispatcher("/Livros.jsp");

			Connection con = ConnectionFactory.getConnection();
			PreparedStatement ps = con.prepareStatement(sql);

			ps.setString(1, clientes.getParameter("nome"));
			ps.setString(2, clientes.getParameter("email"));
			ps.setString(3, clientes.getParameter("dataNasc"));
			ps.setString(4, clientes.getParameter("sexo"));
			ps.setInt(5, Integer.parseInt(clientes.getParameter("cpf")));
			ps.setString(6, clientes.getParameter("rua"));
			ps.setString(7, clientes.getParameter("bairro"));
			ps.setString(8, clientes.getParameter("cidade"));
			ps.setString(9, clientes.getParameter("estado"));
			ps.setInt(10,Integer.parseInt(clientes.getParameter("numero")));
			ps.setInt(11, Integer.parseInt(clientes.getParameter("cep")));
			ps.setString(12, clientes.getParameter("complemento"));
			ps.setString(13, clientes.getParameter("usuario"));
			ps.setString(14, clientes.getParameter("senha"));
			ps.setInt(15, Integer.parseInt(clientes.getParameter("funcao")));

			ps.execute();
			ps.close();
			con.close();

			System.out.println("Cadastrado com sucesso");
		} catch (SQLException e) {
			System.out.println("Erro ao cadastrar");
			System.out.println(e.getMessage());
			return false;
		}
		return true;

	}

	@Override
	public void executa(HttpServletRequest request, HttpServletResponse response) {
		HttpSession sessao;
		CadastroCliente cad = new CadastroCliente();
		try {
		if(request.getParameter("modo").equals("1")){
				
			
			
				if(request.getParameter("nome").equals("")){response.sendRedirect("Administrador.jsp?user=6&&resultado=1&&erro=nome");}
				if(request.getParameter("bairro").equals("")){response.sendRedirect("Administrador.jsp?user=6&&resultado=1&&erro=bairro");}
				if(request.getParameter("cep").equals("")){response.sendRedirect("Administrador.jsp?user=6&&resultado=1&&erro=cep");}
				if(request.getParameter("cidade").equals("")){response.sendRedirect("Administrador.jsp?user=6&&resultado=1&&erro=cidade");}
				if(request.getParameter("cpf").equals("")){response.sendRedirect("Administrador.jsp?user=6&&resultado=1&&erro=cpf");}
				if(request.getParameter("dataNasc").equals("")){response.sendRedirect("Administrador.jsp?user=6&&resultado=1&&erro=dataNasc");}
				if(request.getParameter("email").equals("")){response.sendRedirect("Administrador.jsp?user=6&&resultado=1&&erro=email");}
				if(request.getParameter("estado").equals("")){response.sendRedirect("Administrador.jsp?user=6&&resultado=1&&erro=estado");}
				if(request.getParameter("rua").equals("")){response.sendRedirect("Administrador.jsp?user=6&&resultado=1&&erro=rua");}
				if(request.getParameter("sexo").equals("")){response.sendRedirect("Administrador.jsp?user=6&&resultado=1&&erro=sexo");}
				if(request.getParameter("usuario").equals("")){response.sendRedirect("Administrador.jsp?user=6&&resultado=1&&erro=usuario");}
				if(request.getParameter("senha").equals("")){response.sendRedirect("Administrador.jsp?user=6&&resultado=1&&erro=senha");}
				else
					cad.cadastrar(request);
					response.sendRedirect("Administrador.jsp?user=6&&resultado=1");
					return;
			
		}else {
		
			if(request.getParameter("nome").equals("")){response.sendRedirect("CadastroCliente.jsp?erro=nome");}
			if(request.getParameter("bairro").equals("")){response.sendRedirect("CadastroCliente.jsp?erro=bairro");}
			if(request.getParameter("cep").equals("")){response.sendRedirect("CadastroCliente.jsp?erro=cep");}
			if(request.getParameter("cidade").equals("")){response.sendRedirect("CadastroCliente.jsp?erro=cidade");}
			if(request.getParameter("cpf").equals("")){response.sendRedirect("CadastroCliente.jsp?erro=cpf");}
			if(request.getParameter("dataNasc").equals("")){response.sendRedirect("CadastroCliente.jsp?erro=dataNasc");}
			if(request.getParameter("email").equals("")){response.sendRedirect("CadastroCliente.jsp?erro=email");}
			if(request.getParameter("estado").equals("")){response.sendRedirect("CadastroCliente.jsp?erro=estado");}
			if(request.getParameter("rua").equals("")){response.sendRedirect("CadastroCliente.jsp?erro=rua");}
			if(request.getParameter("sexo").equals("")){response.sendRedirect("CadastroCliente.jsp?erro=sexo");}
			if(request.getParameter("usuario").equals("")){response.sendRedirect("CadastroCliente.jsp?erro=usuario");}
			if(request.getParameter("senha").equals("")){response.sendRedirect("CadastroCliente.jsp?erro=senha");}
			
		else{
			
			if(cad.cadastrar(request)){
				
				
					sessao = request.getSession();
					sessao.setAttribute("logadoUser",request.getParameter("usuario"));
				
						response.sendRedirect("Livros.jsp?id1=0&&id2=2");
				
			}
			else{
				
				response.sendRedirect("CadastroCliente.jsp?erro=1");
			}
		
			
		}
		}
		} catch (IOException e) {
			
			e.printStackTrace();
		}
		
		
		
	}

	/*
	 * public static void main(String[] args) { CadastroCliente cc = new
	 * CadastroCliente(); cc.consultaUsuario(); }
	 */

}
